MABRY SOFTWARE PRODUCT LIST - January 12, 1997
 
Listed below are the products  Mabry Software currently has 
in the market.  If there's a control that you want or need 
and you don't see it here --- ask!  If we write it to 
distribute, you'll get a free copy.  All of the OCX 
controls, except the Internet controls, come with VBX, OCX-
16, and OCX-32 versions.  Each Mabry product comes with one 
or more sample projects to show you how to use the control.  
Source code, which is written in C (C++ for OCXes), is also 
available for all controls. 
   
Our Web page (www.mabry.com) is the key to  
the best and most efficient service from Mabry.  It is our 
focal point for distribution of the latest demo versions and 
information about Mabry Software and Mabry products.  Save 
yourself time and trouble by checking there first before 
contacting Mabry Software directly.  We're always happy to 
hear from you, but we think you will appreciate the 
information you can obtain from our Web site.  
 
The registration fee is "per developer" and distribution is 
royalty free in executable applications.  
   
We are working on upgrading all of the VBXes to OCXes.  
You can find fully functional samples of our controls on our 
WEB site, http://www.mabry.com, and on CompuServe (GO MABRY).
 
			INTERNET CONTROLS  
 
All controls include a help file that gives a detailed  Internet
communications overview.  These controls are 32-bit only, but
we are adding 16-bit VBXes which will be available soon.  
 
INTERNET PACK.  This package contains twelve controls for 
giving  your applications access to the Internet.  All of 
them are 32-bit OLE controls (OCXes) ready to run under 
Windows 95 or Windows NT.  The controls support ARCHIE, FINGER,
FTP, GOPHER, MAIL (SMTP/POP), NEWS (NNTP), PING, TALK
TIME,  and WHOIS.  GetHost resolves IP addresses and
ASOCKET gives you direct access to Windows sockets.  

ASOCKET provides sequenced, reliable, full-duplex
connection-based byte streams.  Uses the Transmission
Control Protocol (TCP).  It also supports datagrams using 
the User Datagram Protocol (UDP).  
   
FINGER requests user information from another host.  Typical
information includes last data of logon, mail waiting, real 
name, address, phone number.  FINGER complies with RFC 1288. 
    
FTP allows you to log onto remote hosts to transfer files to
and from the remote host.  FTP works in conjunction with 
GETHST for address resolution. FTP complies with RFC 959.
   
GETHST allows you to translate from host name to IP address, 
and IP address to host name.  
   
GOPHER encapsulates the Gopher Protocol used to provide 
access to documents and files, and to search 
databases available on the Internet. 
    
MAIL encapsulates the Simple Mail Transfer Protocol (SMTP) 
and the Post Office Protocol (POP) for managing e-mail on 
the Internet.  MAIL supports attachments.
 
NEWS provides easy access to Network News Transfer
Protocol (NNTP) servers as specified in RFC 977.  It 
supports user authentication protocol and is unique
in providing access to non-standard server commands though
READ/WRITE methods.

TALK allows you to interactively communicate with users on
remote hosts in order to chat.
  
TIME encapsulates the Network Time Protocol (NTP) to allow 
you to retrieve the Greenwich Mean Time from supporting 
hosts on the Internet.  The TIME control allows you to 
develop time synchronization applications for your system 
(among other things).  Incorporating this control into your 
application allows you to request the Greenwich Mean time 
from any time-server that you select. 
   
WHOIS provides access to the WHOIS servers on the Internet.  
By incorporating WHOIS into your applications, you may 
query for information about hosts, users, and businesses who 
have accounts on the Internet.  

ARCHIE
PING
  

		   MISC. CUSTOM CONTROLS  
 
ALARM  is a Visual Basic custom control that lets you set 
multiple alarms to go off (i.e., fire events) at various 
times during the day.  This control makes it easy to 
schedule events.  Just set the properties and wait for ALARM 
to notify you.  You can specify such times as 9:12 AM, 10:45 
PM, every hour on the hour, every ten minutes, once per 
minute, etc.  ALARM even tells you when the date has 
changed.  You can use this to remove all of the current 
alarms and set new ones for the day.  A must if you're 
writing a PIM. (Personal Information Manager). 
 
BARCOD makes barcode display and printing really easy.  Just 
pick the orientation, set the size, and pick the barcode 
style.  Then, set the caption to whatever you want the bars 
to be.  BARCOD uses the Caption property to determine what 
to display.   ForeColor is used for the color of the Bars.  
BackColor is used  for the color of the background.  If 
BARCOD cannot fit the entire  barcode in the control window, 
it will fill the entire control with the background color.  
Printing is straightforward, too.  Just tell BARCOD what to 
print and where, and it paints barcodes into the Printer 
Object.  Under VB 3.0 and VB 4.0, BARCOD will bind to a data 
control.  It uses the DataField, DataSource, and DataChanged 
properties.  This control is good for inventory 
applications, identification systems, and any other programs 
that require printed computer-readable data.  Samples 
included show how to print barcodes using the Printer Object 
and how to copy a bitmap of the barcode to the clipboard.  
  
BMPLST is a Visual Basic custom control that displays a list 
box that has text and bitmaps in it.  The bitmaps can be 
placed on any side of the text (top, bottom, right, left).  
BMPLST is not hampered by the normal 64K limit that normal 
list boxes suffer. Users have loaded 10,000 items into 
BMPLST with great success. BMPLST supports multi-column 
lists.  In this case, all of the list elements must be the 
same size.  The bitmaps may be of varying size shorter 
bitmaps will result in gaps between it and the item below).  
BMPLST also supports 3-D effects (much like THREED.VBX).  
The control's border supports raised, lowered, and insert 3-
D effects (plus the normal solid border).  BMPLST can easily 
be set up to handle a check-box list.  All it takes is a few 
lines of code.  A working sample with all of the bitmaps 
required to produce this style of list box is included with 
the BMPLST package.  
   
DFINFO gives you disk and file information that VB doesn't 
provide.  It also allows you to change some aspects of a 
file (attributes, size, date, time, etc.).  The disk side of 
this control allows you to find out how much disk space you 
have, and how much of it is free.  You can also read volume 
names.  The file side of this control allows you to find out 
all of the important information about a file (size, 
attribute flags, date and time of last modification).  It 
also allows you to change  most of the attribute flags and 
change the size of the file as well. 
   
FLABEL is a label control that lets you format the text 
within it.  You can have different fonts, different colors, 
multiple paragraphs, paragraph formatting, etc.  All this 
and it's bound, too.   
  
FMDROP notifies you when a file has been dragged and dropped 
from the Windows File Manager (FILEMAN).   
  
HITIME is a high resolution timer.  You use this control 
just like the default Timer control that comes with Visual 
Basic. Visual Basic's Timer control can only fire an event 
every 55  milliseconds (18.2 times per second).  HITIME can 
fire events at a much higher rate.  How high depends on the 
speed of your machine.  486D2/66s can handle more than 500 
ticks per second.  
   
INICON makes INI file access simple.  WIN.INI and private 
INI file access are both supported.  No API calls required.  
   
JOYSTK gives your program information and events about the 
joystick's movement and buttons.  One or two normal 
joysticks, or one 3-D joystick are supported.  JOYSTK  (VBX 
only ) comes with a joystick driver for Windows (required).  
This driver supports 4-button joysticks (such as the Gravis 
PC GamePad).  
 
LED behaves like an LED.  3-D effects and colors are all 
user-definable.  This control is useful whenever you need a 
passive on/off indicator (modem lights, working lights, 
etc.).  
  
MENUEV provides menu selection notification.  In other 
words, it tells you when the user has selected a menu item.  
This is useful for status bar-style help. MENUEV is 
extremely easy to use.  All you need to do is place it on 
your form.  There's nothing to set.  Events start coming in 
automatically.  The events give you the text of the menu 
item selected.  Also, MENUEV will automatically update 
another control for you.  You can easily make status bar 
style help merely by setting a couple of properties.  No 
code required. 
    
MSLOT provides simple interprocess communication between 
programs running on the same or different computers.  This 
control enables you to create and use Windows for Workgroups 
mailslots.  A mailslot is an application-defined buffer that 
receives and holds messages.  Applications create mailslots 
so that they can receive text or data from other 
applications on one or more computers in a network.  No 
Windows API calls required.  Requires Windows for 
Workgroups.  Includes network chat sample program. 
    
MSSTAT is a status bar for Visual Basic.  This control 
displays a multi-element status bar on the bottom of your 
form.  It automatically handles the NumLock, CapsLock, 
ScrollLock, and Insert key indicators.  It also displays 
times/dates in International and programmer-defined formats.  
   
PERCNT displays a percentage bar on your form.  This makes 
status reporting very easy.  3-D effects, fonts, and colors 
are all at your control.  
   
PICBTN is a command button that has both text and a picture 
on it.  The picture can be scaled and placed above, below, 
to the right, or to the left of the text.  The text may be 
multi-line.   
  
PROBE lets you examine and modify other controls' properties 
at run-time.  After telling PROBE the name of another 
control, PROBE will give you a list of the properties in 
that control.  PROBE can also display a dialog box that will 
let you modify other controls' properties (at run-time).  
The dialog box makes it possible to fiddle with the 
properties of other controls at run-time.  Common dialog 
boxes are used for fonts and colors to make selection 
easier. 
    
ROTEXT lets you place a label on your forms at any angle or 
degree of rotation.  This control can be bound to a data 
control.  
 
SOUNDX provides Soundex and Metaphone algorithms.  Soundex 
and  Metaphone convert words or names to codes that 
represent how they "sound".  This can be really useful in a 
database application where users need to find names they may 
not know how to spell exactly.  Use this control to make it 
easier for them.  Just put in the word or name you want 
converted, and the appropriate codes come out.   
 
TIPS provides Microsoft(r) style tool tips.  Small windows 
pop up with bits of info when the user pauses the mouse over 
your controls.  No code required, just set the Tag 
properties.  TIPS attaches itself to the hWnd property of a 
control. 

VALIDATE makes data validation much easier.  This control
allows you to collect all of the data validation code for 
a form into one event procedure.  This results in smaller 
and more maintainable code.  Validate only works with 
controls that have an hWnd property.
 
VER lets you use the functionality of VER.DLL through 
properties.  It makes getting version information from a 
file (EXE, DLL, VBX, etc.) very easy.  VER also gives you 
file installation functionality.  Included with the control 
is a sample installation/setup utility.  This makes it 
easier for you to write your own installation utilities 
without the bulk of the Setup Wizard.    

WAVE makes it easy for you to play and get information about 
WAV files.  Play WAV files in the background as your program 
performs other tasks; add recorded speech to your 
applications; this is very straightforward.  Set the 
Filename property and tell it to go.  That's it. WAVE requires
a sound card.
    
ZIPINF gives you information about the content (directory) 
of a  ZIP file.  Many, many uses (File Manager replacement, 
drive  searching, etc.).   
   
MEGA PACK.  The MEGA PACK contains twelve of our most 
popular    controls for Visual Basic (ALARM, BARCOD, BMPLST, 
DFINFO, FMDROP, INICON, JOYSTK, MENUEV, PERCNT, ROTEXT, 
SOUNDX, and ZIPINF). Why  buy them one-by-one?  Get all of 
these controls at once.  Even if you already own control 
packages from Sheridan, Crescent, or MicroHelp, you should 
get this package.  The controls cover areas that the major 
packages miss.   
  
MEGA PACK 2.   The MEGA PACK 2 contains twenty-two of our 
controls   (ALARM, BARCOD, BMPLST, DFINFO, FLABEL, FMDROP,  
HITIME, INICON, JOYSTK, LED, MENUEV, MSLOT, MSSTAT, PERCNT, 
PICBTN, PROBE, ROTEXT, SOUNDX, TIPS, VER, WAVE, and ZIPINF).   
 
       
		     MIDI  CONTROLS  
 
MIDIFILE provides the Visual Basic programmer with an easy 
way to read and write MIDI files, both formats 0 (single 
track) and 1 (multiple tracks).  Using the MIDIFILE control, 
you can modify existing MIDI files or create entirely new 
ones from scratch.  You have complete control over and 
access to every type of MIDI message, and you can insert, 
delete, and modify tracks and  messages at anytime.  
    
MIDI I/O is really two controls in one.  The MIDIIN control 
handles the MIDI input and the MIDIOUT control handles the 
MIDI output.  The MIDIIN control is used to receive MIDI 
messages from external MIDI devices.  Messages can be 
retrieved using Events or polling, and are time-stamped with 
millisecond accuracy.  The MIDIIN control has an internal 
queuing mechanism so if messages arrive faster than your 
application can handle them, they will not be lost.  
 
The MIDIOUT control gives you complete control over the 
contents and timing of MIDI messages sent to either internal 
or external MIDI devices. You can queue as many messages as 
you like (within the constraints of available memory) before 
starting  output, or you can queue one or more messages 
prior to starting output and then add more as the output 
proceeds.  Messages are scheduled for transmission at a time 
you specify relative to the time that output is started.  As 
with the MIDIIN control, timing has millisecond resolution, 
giving you the ability to precisely control the timing of 
sent MIDI messages.   
  
SLIDER provides horizontal and vertical sliders.  You can 
select from different slider styles, track styles, colors, 
ticks, etc.    
  
INDICATOR shows a gauge that looks like those found on the 
front of stereos (tri-color, multiple lights).  This control 
includes horizontal and vertical versions of the indicator.  
   
KNOB is a knob.  You can change the size, have tick marks 
around it, have text near the tick marks, change some of the 
colors, etc.  You can use KNOB to control volume, pitch, 
tempo, or anything else you might control with a scroll bar 
or slider. 
   
MIDI PACK is made up of five controls.  Two controls give 
you MIDI device file access (MIDI I/O and MIDIFILE).  The 
other three controls are interface widgets that give 
feedback (INDICATOR) and user input (KNOB and SLIDER).      

MABRY SOFTWARE PRICE LIST - Janary 12, 1997
  
Fully functional samples of our controls are on our Web 
site, www.mabry.com and on CompuServe (GO MABRY).
    
 SWREG                            SWREG      
  ID       Control         US$     ID  Control+Source(C) US$  
  
 1475   Alarm     +OCX    15.00   1476   Alarm          30.00  
 1314   BarCod    +OCX    35.00   1315   Barcod         90.00  
 1059   BmpLst     VBX    20.00   1060   BmpLst         45.00  
 1069   DFInfo    +OCX    15.00   1070   DFInfo         35.00  
 4352   FLabel    +OCX    20.00   4353   FLabel         50.00  
 
 1378   FMDrop    +OCX    15.00   1379   FMDrop         35.00  
 3382   HiTime    +OCX    20.00   3383   HiTime         45.00  
  833   Inicon    +OCX    15.00   1003   Inicon         30.00  
 1340   JoyStk    +OCX    15.00   1341   JoyStk         35.00  
 3380   LED       +OCX    15.00   3381   LED            35.00 
  
 1270   MenuEv     VBX    15.00   1271   MenuEv         30.00  
 1848   MSlot      VBX    30.00   1849   MSlot          50.00  
 4462   MSStat     VBX    20.00   4463   MSStat         45.00  
  966   PerCnt    +OCX    15.00   1004   PerCnt         30.00  
 3434   PicBtn    +OCX    15.00   3435   PicBtn         50.00 
  
 2449   Probe      VBX    15.00   2450   Probe          40.00  
 1338   RoText    +OCX    15.00   1339   RoText         35.00  
 1272   SoundX    +OCX    15.00   1273   SoundX         30.00  
 3482   Tips      +OCX    25.00   3483   Tips           55.00 
 9526   Validate   OCX    25.00   9527   Validate       60.00  
 
 2529   Ver        VBX    20.00   2530   Ver            50.00   
 4034   Wave      +OCX    15.00   4035   Wave           40.00 
 1595   ZipInf    +OCX    15.00   1596   ZipInf         35.00  
 2909   Mega Pack         90.00   2910   Mega Pack     190.00  
 9916   Mega Pack 2      179.00   9917   Mega Pack 2   399.00  
 
10281   MIDI I/O  +OCX    40.00  10282   MIDI I/O      120.00  
10284   MIDIFile  +OCX    40.00  10285   MIDIFile      120.00  
10289   Indicator +OCX    15.00  10291   Indicator      40.00  
10293   Knob      +OCX    20.00  10294   Knob           45.00  
10286   Slider    +OCX    20.00  10288   Slider         45.00  
 9525   MIDI Pack +OCX    99.00   9528   MIDI Pack     299.00  
 
 6389   ASocket    OCX&   35.00   9056   Socket         90.00  
 6392   Finger     OCX&   20.00   9059   Finger         50.00  
 6393   FTP        OCX&   35.00   9060   FTP            90.00  
 6390   GetHst     OCX&   15.00   9057   GetHst         30.00  
 6394   Gopher     OCX&   35.00   9061   Gopher         90.00  
 6395   Mail       OCX&   40.00   9062   Mail          120.00 
 6964   News       OCX&   35.00   9064   News           90.00  
10417   Talk       OCX    20.00  10418   Talk           50.00 
 6524   Time       OCX&   20.00   9063   Time           50.00  
 6391   WhoIs      OCX&   20.00   9058   WhoIs          50.00 
 9065   Internet Pack    129.00   9066   Internet Pack 359.00  
 
       *RAS  Still in Development
       *Ping    "     "  "  
 
 OCX+ includes VBX, OCX-16, and OCX-32. 
 OCX& includes VBX and OCX-32.  
  
Source code is written in C (C++ for OCXes) and is not  
returnable. 

Prices are subject to change at any time.

MABRY SOFTWARE ORDER FORM

Mabry Software        1-800-99-MABRY      Phone: 206-634-1443 
Post Office Box 31926                CIS: 71231,2066 GO MABRY 
Seattle, WA  98103-1926 USA         Internet: mabry@mabry.com 
Fax: 206-632-0272                          Web: www.mabry.com 
      
		      NAME:        
 
		   COMPANY:      
 
	    STREET ADDRESS:       
     (We need your mailing 
address so we can send up- 
grade instructions to you.)  
		      CITY:      
	    STATE/PROVINCE:      
		   COUNTRY:       
	   ZIP/POSTAL CODE:       
 
		     PHONE:      
		       FAX:      
 
		   MC/VISA:  
	   EXPIRATION DATE: 
  
	E-MAIL ADDRESS(ES): 
 
      For Internet e-mail, 
       indicate MIME or UU: 
(If necessary, please ask 
   your Internet provider)      
 
	ID#    CONTROL NAME             QTY     PRICE           TOTAL  
												
												
						 
												
						 



	     INTERNAT'L ORDERS:    ADD $5.00 per control or package:

North American E-MAIL DELIVERY: Deduct $5.00 per control or package:
	 (E-mail orders are paperless: i.e. no receipt,etc.) 
						 SUB TOTAL OF ORDER:
 
			  SHIP/HANDLING (for all non-E-mail orders):
 Add $5 USPS Air Mail, $10 for 2nd day, $15 for next day (US only),
  $45 International Express; (Mail orders include manual and disk)
 
				  WASHINGTON RESIDENTS ADD 8.2% TAX:

							      TOTAL:
 
	(Checks/money orders must be in US$ drawn on a US bank) 
		   Make payable to Mabry Software 
	(You can also order using wire funds transfer and IMO)
     Fully functional samples of our controls (including VB project 
     examples) are on our WEB site, www.mabry.com and on 
     CompuServe (GO MABRY).
